package org.NooLab.glue.net;

import java.util.Observer;

import org.NooLab.glue.components.*;
 


/**
 * 
 *  
 *  
 */
public interface ComBoxIntf {

	/** will be introduced via the ComBoxFactory */
	public void setComBoxProperties( ComBoxProperties cbprops) ;
	public ComBoxProperties getComBoxProperties( ) ;
	
	public ComBoxFactory getFactory() ;
	/** e.g. DRS_RESTLET DRS_MUDP (as defined in ComBoxFactory) */
	public int getActiveTransportId() ;
	
	/** providing access to the receiver for receiving data */
	public DataReceiverIntf getReceiver();
	public void setReceiver( DataReceiverIntf receiver );

	/** providing access to the sender for sending of data */
	public DataSenderIntf getSender();
	public void setSender( DataSenderIntf sender );

	/* we probably need a flag, whether to make the sender/receiver persistent in the ComBox or not */
	public DataSenderIntf createSender( int port , int serviceport, String description );
	public DataReceiverIntf createReceiver( int listenport , int ctrlport, Observer observer, String description );
	
	public void removeReceiver( DataReceiverIntf rreceiver);
}